Distributing tape drive abrasion

ABSTRACT

Some embodiments are directed to computer program products for use with tape drives that oscillate the relative transverse position of a tape and magnetic head during seek operations (for example, by moving the magnetic head in the transverse direction). Some embodiments are directed to methods and computer program products for use with tape drives that select relative transverse position of the tape and magnetic head to counter uneven wear (for example, observed uneven wear, uneven wear predicted based on historical tape and drive usage data).

BACKGROUND

The present invention relates generally to magnetic data tape read/writedrives, and more particularly to managing deterioration of a read/writehead on a magnetic data tape drive.

Magnetic data tape read/write drives are used to store and retrieve dataon magnetic data tape cartridges. A plurality of magnetic data taperead/write drives can be logically connected to each other to comprise atape library. A typical magnetic data tape read/write drive will haveone or more read or write heads to perform read or write operations onmagnetic data tape cartridges. Magnetic data tape cartridges include afinite length of magnetic tape. The magnetic tape is typically dividedinto a plurality of data bands that run parallel to each other along thelength of the tape. The read/write head of a magnetic data taperead/write drive can include servo heads on the top and the bottom tomove the read/write head perpendicular to the direction the magnetictape is being spooled for the purpose of positioning the read/writeheads over an appropriate data band.

When data is stored or retrieved on magnetic tape, it is typicallylocated at a unique longitudinal position on a data band. Reading orwriting data near the end of the length of the magnetic tape typicallyinvolves spooling the tape from one spool to another, with the magnetictape passing across the read/write head of a magnetic data taperead/write drive. Prior to reading or writing data to magnetic tape,magnetic data tape read/write drives will typically “seek” to a startingposition for the operation, either the beginning of a block of data orthe beginning of an empty block to be written with data. This can occurat significant velocities (i.e., 15 meters per second).

It is known in the art that magnetic tape drive heads experiencephysical wear on their tape-facing surfaces when used extensively. Thisis due to: (i) the relative longitudinal direction motion between themagnetic tape head and various tapes being accessed by the tape head;and (ii) occasional contact between the head facing surfaces of thevarious tapes and the tape-facing surface of the head. To put it morecolloquially, the tapes wear a groove in the tape head over time anduse. Some prior art attempts to counter this issue by coating and/orlubricating the tape facing surface of the magnetic tape head withabrasion resistant material.

SUMMARY

A tape drive system for use with a tape medium that defines alongitudinal direction and a transverse direction, the tape drive systemincludes: a magnetic head including a tape facing surface; a headmovement control sub-system; a tape movement control sub-system; and ahead profile sub-system. The magnetic head is structured, connected,located, sized and shaped to magnetically read data from and/ormagnetically write data to the tape medium while the tape medium movesin the longitudinal direction relative to the tape facing surface of themagnetic head. The tape movement control sub-system structured and/orprogrammed to control movement of the tape medium, with the movementincluding longitudinal direction movement relative to the tape facingsurface of the magnetic head; the head profile sub-system is structuredand/or programmed to store head profile information corresponding to anobserved and/or estimated wear profile of the tape facing surface of themagnetic head. The head movement control sub-system and tape movementcontrol sub-system are structured and/or programmed to control relativeposition and/or relative orientation of the tape facing surface of themagnetic head and a portion of the tape medium proximate to the magnetichead in a manner to counter uneven wear indicated by the wear profileinformation.

A method for use with an elongated magnetic tape medium defining alongitudinal direction and a transverse direction and a tape drivesystem including a magnetic head and a movement control sub-system, themethod including the following operations (not necessarily in thefollowing order): (i) controlling, by the movement control sub-system,the magnetic tape to move in the longitudinal direction relative to themagnetic head such that a various portions of the magnetic tape willcome into close proximity to a tape facing surface of the magnetic headand the magnetic tape moves in the longitudinal direction; and (ii)while the magnetic tape is moving in the longitudinal direction,controlling, by the movement sub-system, the magnetic head to oscillatein the transverse direction.

A tape drive system for use with a tape medium that defines alongitudinal direction and a transverse direction, the tape drive systemincludes: a magnetic head including a tape facing surface; a headmovement control sub-system; and a tape movement control sub-system. Themagnetic head is structured, connected, located, sized and shaped tomagnetically read data from and/or magnetically write data to the tapemedium while the tape medium moves in the longitudinal directionrelative to the tape facing surface of the magnetic head. The tapemovement control sub-system structured and/or programmed to controlmovement of the tape medium, with the movement including longitudinaldirection movement relative to the tape facing surface of the magnetichead. The head movement control sub-system and tape movement controlsub-system are structured and/or programmed to effect oscillatorymovement with respect to the relative transverse position of the tapefacing surface of the magnetic head and a portion of the tape mediumproximate to the magnetic head.

According to an aspect of the present invention, there is a methodand/or computer program product for use with a tape drive including amagnetic head with a tape facing surface, a head movement controlsub-system, a tape movement control sub-system, and a tape medium thatdefines a longitudinal direction and a transverse direction thatperforms the following operations (not necessarily in the followingorder): (i) receiving a wear profile data set including informationindicative of an observed and/or estimated wear profile of a tape facingsurface of a magnetic head of the tape drive; (ii) determining one ormore portions of the magnetic head of the tape drive along thetransverse direction have higher levels of relative abrasive wearcompared to at least one portion of the magnetic head of the tape drivealong the transverse direction based, at least in part, on the wearprofile data set; and (iii) controlling a relative position and/orrelative orientation of the tape facing surface of the magnetic head anda portion of the tape medium proximate to the magnetic head in a mannerto counter uneven wear indicated by the wear profile information duringmovement of the tape medium in the longitudinal direction.

According to an aspect of the present invention, there is a method,computer program product and/or system for use with a tape driveincluding a magnetic head with a tape facing surface, a head movementcontrol sub-system, a tape movement control sub-system, and a tapemedium that defines a longitudinal direction and a transverse directionthat performs the following operations (not necessarily in the followingorder): (i) controlling, by the movement control sub-system, themagnetic tape to move in the longitudinal direction relative to themagnetic head such that various portions of the magnetic tape will comeinto close proximity to a tape facing surface of the magnetic head andthe magnetic tape moves in the longitudinal direction; and (ii) whilethe magnetic tape is moving in the longitudinal direction, controlling,by the movement sub-system, the magnetic head to oscillate in thetransverse direction.

According to an aspect of the present invention, there is a method,computer program product and/or system for use with a magnetic tape datastorage system including a plurality of tape drives, with each tapedrive including a magnetic head with a tape facing surface that performsthe following operations (not necessarily in the following order): (i)receiving a drive head wear profile data set including informationindicative of an observed and/or estimated wear profile of the tapefacing surface of the magnetic head of each tape drive of a plurality oftape drives available to the magnetic tape data storage system; (ii)receiving an incoming data writing operation including informationindicative of a target magnetic tape medium; (iii) receiving a targetmagnetic tape medium including a historical data set indicative ofunused portions of the target magnetic tape medium based on historicaldata operations using the target magnetic tape medium; (iv) determininga target tape drive based, at least in part, on: (a) the drive head wearprofile data set, and (b) the historical data set of the target magnetictape medium; and (v) performing the received incoming data writingoperation on the target magnetic tape medium using the target tapedrive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a magnetic data tape library, inaccordance with an embodiment of the present invention.

FIG. 2 is a flowchart depicting operational steps of an abrasion programfor evenly distributing wear on the surface of a tape drive head duringseek processes, in accordance with an embodiment of the presentinvention.

FIG. 3 is a flowchart depicting operational steps of an abrasion programfor evenly distributing wear on the surface of a tape drive head duringwrite processes, in accordance with an embodiment of the presentinvention.

FIG. 4 is a flowchart showing a method according to an embodiment of thepresent invention.

FIG. 5 is a flowchart depicting operational steps of an abrasion programfor oscillating a tape drive head to distribute wear during a seekprocess, in accordance with an embodiment of the present invention.

FIG. 6 is a block diagram illustrating a data processing system inaccordance with an embodiment of the present invention.

FIG. 7 is a perspective view of a portion of an embodiment of a tapedrive system and tape that illustrates a common head wear pattern.

FIG. 8 is a part perspective/part schematic view of a tape drive systemaccording to the present invention.

FIG. 9 is a cross-sectional view of a portion of the tape drive systemof FIG. 8.

FIG. 10 is a schematic view of an embodiment of a tape drive system.

FIGS. 11A to 11I show relative positions of parts of the system of FIG.10 at successive points in time.

DETAILED DESCRIPTION

The descriptions of the various embodiments of the present invention arepresented for purposes of illustration but are not intended to beexhaustive or limited to the embodiments disclosed. Many modificationsand variations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating a dataprocessing environment, generally designated 100, in accordance with anembodiment of the present invention. FIG. 1 provides only anillustration of one implementation and does not imply any limitationswith regard to the environments in which different embodiments may beimplemented. Many modifications to the depicted environment may be madeby those skilled in the art without departing from the scope of theinvention as recited by the claims.

In one embodiment, tape library 102 may be a magnetic tape library thatprovides the capability to store data using a tape drive 104 and one ormore tape cartridge 114. In one embodiment, tape library 102 mayrepresent a plurality of interconnected physical tape libraries. In oneembodiment, tape library 102 may include a plurality of tape drive 104.

In one embodiment, tape drive 104 may be a magnetic tape read/writedrive within a tape library 102 that enables read or write operations ontape cartridge 114. In one embodiment, tape drive 104 may include a tapedrive controller 106, a tape drive head 108, a head servo 110, and anabrasion program 112. In one embodiment, tape drive 104 may include oneor more head servo 110, for movement of the tape drive head 108 in oneor more directions. In one embodiment, tape drive 104 may include aplurality of tape drive controller 106.

In one embodiment, tape drive controller 106 may be an integrated chipwithin tape drive 104. In one embodiment, tape drive controller 106 mayinclude computer readable storage, which may contain firmwareinstructions for the operation of components of tape drive 104, such asdrive head 108 or head servo 110. In one embodiment, tape drivecontroller 106 may contain a microprocessor. In one embodiment, tapedrive controller 106 might contain firmware instructions to operate headservo 110. In one embodiment, tape drive controller 106 may containfirmware instructions to operate magnetic tape drive head 108. In oneembodiment, tape drive controller 106 may include abrasion program 112.

In one embodiment, tape drive head 108 may be a magnetic tape driveread/write head of tape drive 104 that provides a mechanism for readingdata stored on tape cartridge 114. In one embodiment, drive head 108 isa component of tape drive 104 that provides a mechanism for writing dataon tape cartridge 114. In one embodiment, drive head 108 is a componentof tape drive 104 that provides a mechanism for reading data from andwriting data to tape cartridge 114. In one embodiment, drive head 108 isoperationally coupled to head servo 110 enabling drive head 108 to movetransverse relative to the direction of spooling the magnetic tape oftape cartridge 114 to enable read or write operations on a plurality ofdata bands on the magnetic tape of tape cartridge 114.

In one embodiment, head servo 110 may be a magnetic tape driveread/write head servo such as an electric motor (e.g., servo motor,stepper motor, etc.) operationally coupled to drive head 108 and tapedrive controller 106. In one embodiment, head servo 110 may include morethan one motor, each implemented to apply force to drive head 108 toimpart a change in position of drive head 108 in physical space. In oneembodiment, head servo 110 positions drive head 108 transverse to thedirection of spooling of the magnetic tape of tape cartridge 114.

In one embodiment, abrasion program 112 may be a firmware applicationstored within tape drive controller 106. In one embodiment, abrasionprogram 112 may be a firmware application stored within librarycontroller 116. In one embodiment, abrasion program 112 may be asoftware application stored within library controller 116. In oneembodiment, abrasion program 112 determines a signal amplitude inputfrom drive head 108 to determine the position on drive head 108corresponding to a data band on the magnetic data tape of tape cartridge114 that is the most worn from previous operations. A signal amplitudeis a parameter measured during the mounting of tape cartridge 114 totape drive 102 that varies by tape cartridge material and drive headwear, which may become weaker as drive head wear increases the distancebetween the magnetic tape of tape cartridge 114 and drive head 108. Inone embodiment, abrasion program 112 interprets a signal amplitudeprovided by drive head 108 to determine a position on drive head 108corresponding to a data band on tape cartridge 114 that is the leastworn from previous operations. In one embodiment, abrasion program 112provides a mechanism for distributing abrasive wear on drive head 108 bymeasuring a signal amplitude and using head servo 110 to position drivehead 108 in read/write position of one or more of the data bands on tapecartridge 114 during a substantial portion of the spooling of tapecartridge 114 during seek operations. In one embodiment, abrasionprogram 112 provides a mechanism for distributing abrasive wear on drivehead 108 by measuring a signal amplitude and selecting the data band ontape cartridge 114 with the least amount of abrasive wear for the nextwrite operation. In one embodiment, abrasion program 112 provides amechanism for distributing abrasive wear on drive head 108 by measuringa signal amplitude and using head servo 110 to oscillate drive head 108across the positions corresponding with data bands on tape cartridge 114during a substantial portion of the spooling of tape cartridge 114during seek operations. In one embodiment, abrasion program 112 providesa mechanism for tape library 102 to distribute abrasive wear across twoor more tape drive 104 by measuring the fill rate of tape cartridge 114and the historical usage of drive head 108 of each tape drive 104 todetermine which of tape drive 104 is least likely to incur unevenabrasive wear on drive head 108.

In one embodiment, tape cartridge 114 may be a magnetic tape storagemedia (e.g., physical tapes, long cartridges, short cartridges, etc.).In one embodiment, tape cartridge 114 includes data storage capacityalong one or more data bands of magnetic tape. In one embodiment, tapecartridge 114 may be a plurality of tape storage media within tapelibrary 102.

In one embodiment, library controller 116 may be a component of tapelibrary 102, such as an integrated circuit. In one embodiment, librarycontroller 116 includes computer readable storage. In one embodiment,library controller 116 includes a microprocessor. In one embodiment,library controller 116 includes firmware instructions within computerreadable storage that enable the operational coupling of tape library102 components. For example, library controller 116 may enable tapelibrary 102 to send a read command to tape drive 104 to read from tapecartridge 114, and to receive the resulting data from the read commandand transfer via network 118 the resulting data to another device, suchas client computer 120 or client computer 122.

In one embodiment, network 118 is the Internet representing a worldwidecollection of networks and gateways that use TCP/IP protocols tocommunicate with one another. Network 118 may include wire cables,wireless communication links, fiber optic cables, routers, switchesand/or firewalls. Tape library 102, client computer 120, and clientcomputer 122 are interconnected by network 118. Network 118 can be anycombination of connections and protocols capable of supportingcommunications between tape library 102, client computer 120, clientcomputer 122, and abrasion program 112. Network 118 may also beimplemented as a number of different types of networks, such as anintranet, a local area network (LAN), a virtual local area network(VLAN), or a wide area network (WAN). FIG. 1 is intended as an exampleand not as an architectural limitation for the different embodiments.

In one embodiment, client computer 120 and client computer 122 areclients connected to tape library 102 and may be, for example, a servercomputer, a desktop computer, a laptop computer, a tablet computer, asmart phone, a personal digital assistant (PDA), a thin client or anyother electronic device or computing system capable of communicatingwith tape library 102. For example, client computer 120 might be adesktop computer capable of connecting to a network, such as network118, to submit one or more read or write requests to client computer122, which might be a server computer connected to tape library 102 andnetwork 118 to process read or write operations directed towards tapelibrary 102. In one embodiment, client computer 120 and client computer122 might be any kind of device suitable for submitting one or more reador write requests to a tape library 102.

FIG. 2 depicts a flowchart of operational steps of an anti-abrasionprogram, such as abrasion program 112 of FIG. 1, generally designated200, for distributing surface abrasion across magnetic tape read/writedrive heads, such as drive head 108 of FIG. 1, during seek operationsbased upon measurements of current levels of abrasion at one or morepositions on a magnetic tape read/write drive head in accordance with anembodiment of the present invention.

Abrasion program 112 sends a command to mount a tape cartridge for dataprocessing by a tape drive (202). In one embodiment, responsive toreceiving tape cartridge 114 from tape library 102 and a request fromtape library 102 for a data processing operation on tape cartridge 114,abrasion program 112 instructs tape drive controller 106 to positiontape cartridge 114 for read/write operations by drive head 108. Forexample, abrasion program 112 may instruct tape drive controller 106 tooperate motors within tape drive 104 to move tape cartridge 114 intooperational coupling with a spindle such that the magnetic tape withintape cartridge 114 may rotate to facilitate longitudinal movement of themagnetic tape across drive head 108.

Abrasion program 112 requests a signal amplitude for a data band (204).In one embodiment, abrasion program 112 requests the signal amplitude ofthe current data band of the magnetic tape of tape cartridge 114currently mounted to tape drive 104. In one embodiment, where abrasionprogram 112 has already requested the signal amplitude of the currentdata band, abrasion program 112 requests the signal amplitude for thenext data band of the magnetic tape of tape cartridge 114. For example,where data band 0 is currently mounted, and abrasion program has alreadyrequested the signal amplitude for data band 0, abrasion program 112requests the signal amplitude for data band 1. In one embodiment,responsive to abrasion program 112 mounting tape cartridge 114 to tapedrive 104, abrasion program 112 requests the signal amplitude of thecurrent data band positioned for data processing operations by drivehead 108 from tape drive controller 106. The signal amplitude is anumerical value for the quality and strength of the magnetic dataconnection between drive head 108 and tape cartridge 114. For example,when tape cartridge 114 is first mounted abrasion program 112 mayrequest the signal amplitude for data band 0. As drive head 108 suffersabrasive damage over time caused by friction from magnetic tape movinglongitudinally across the surface of drive head 108, the distancebetween drive head 108 and the magnetic tape of tape cartridge 114increases, typically resulting in a weaker signal amplitude. A weakersignal amplitude can introduce errors into data processing operations.Uneven abrasive wear across the surface of drive head 108 can alsointroduce damage to tape cartridge 114 by forming grooves in the surfaceof drive head 108 that may contact the magnetic tape of tape cartridge114 as it moves longitudinally across drive head 108.

Abrasion program 112 receives and stores a signal amplitude for a databand (206). In one embodiment, abrasion program 112 receives and locallystores the previously requested signal amplitude of the current databand of the magnetic tape of the tape cartridge 114 currently mounted totape drive 104. For example, in one embodiment, responsive to abrasionprogram 112 mounting tape cartridge 114 to tape drive 104, abrasionprogram 112 receives from tape drive controller 106 the signal amplitudeof data band 0 of tape cartridge 114, which abrasion program 112 storesin the local memory of tape drive controller 106. In one embodiment,abrasion program 112 stores the signal amplitude of data band n, where nis the data band requested at 204. In another embodiment, abrasionprogram 112 stores the signal amplitude values for each of the databands in a table and updates the table each time abrasion program 112mounts a new tape cartridge, such as tape cartridge 114, to a tapedrive, such as tape drive 104. Each time abrasion program 112 updatesthe table, abrasion program 112 compares the new signal amplitude foreach data band to a threshold value that indicates a level of wear todrive head 108 is present capable of introducing damage to tapecartridge 114. If the comparison indicates that the current signalamplitudes are equal or greater than this value, abrasion program 112generates an error message and sends the error message to tape library102 indicating that a library administrator should service tape drive104 regarding drive head 108. In another embodiment, the error messageidentifies tape drive 104 for removal from tape library 102 due toaccumulated abrasive damage to drive head 108.

Abrasion program 112 determines whether it has requested the last databand (208). In one embodiment, abrasion program 112 determines whetherit has requested, received, and locally stored for the current dataprocessing operation a signal amplitude for each of the data bands oftape cartridge. In one embodiment, abrasion program 112 requests fromtape drive controller 106 the number of data bands on tape cartridge 114and generates a table in the local memory of tape drive controller 106to store the signal amplitude value of each data band. In oneembodiment, abrasion program 112 determines whether it recorded a signalamplitude for each of the data bands of tape cartridge 114 by readingthe table and identifying the next data band of tape cartridge 114 thatdoes not yet have a signal amplitude value recorded. In one embodiment,the table entries for data bands of tape cartridge 114 that have nosignal amplitude value indicate which data bands that abrasion programhas not yet requested, received, and locally stored a signal amplitudefor in the memory of tape drive controller 106. In another embodiment,the table may be pre-populated with entries for signal amplitudes ofdata bands of tape cartridge 114 from previous data processingoperations on tape drive 104.

Responsive to a determination that abrasion program 112 has notrequested the last data band (NO branch, 208), abrasion program 112requests a signal amplitude of a data band (204). In one embodiment,responsive to a determination that abrasion program 112 has notrequested, received, and locally stored a signal amplitude for each databand (NO branch, 208), abrasion program 112 continues requesting signalamplitudes for the data bands of tape cartridge 114 (204). In oneembodiment, responsive to a determination that there are entries on thetable for the data bands of tape cartridge 114 that have not yet had asignal amplitude assigned, abrasion program 112 continues requestingsignal amplitudes from tape drive controller 106 (204). For example,where abrasion program 112 examines the table of signal amplitudes forthe current mounting of tape cartridge 114 and finds a signal amplitudefor data band 0 but no signal amplitude for data bands 1, 2, and 3,abrasion program 112 would follow the NO branch, now requesting thesignal amplitude of data band 1.

Responsive to a determination that abrasion program 112 has requestedthe last data band (YES branch, 208), abrasion program 112 starts a seekoperation using signal amplitude information (210). In one embodiment,responsive to a determination that abrasion program 112 has requested,received, and locally stored a signal amplitude for each data band (YESbranch, 208), abrasion program 112 determines which data band of tapecartridge 114 to use for the seek operation. In one embodiment, abrasionprogram 112 compares the signal amplitude in the table of each data bandof tape cartridge 114 and selects the data band with the greatest signalamplitude for use during the seek operation. For example, where thetable indicates that data band 0 possesses the lowest signal amplitudeand data bands 1, 2, and 3 have the greatest signal amplitude, abrasionprogram 112 may select data band 1 for the seek operation of a dataprocessing request.

Abrasion program 112 starts a seek operation using signal amplitudeinformation (210). In one embodiment, where tape cartridge 114 has aplurality of data bands numbered 0 . . . n, abrasion application 112starts a seek operation on a data band using signal amplitudeinformation. In one embodiment, abrasion program 112 instructs tapedrive controller 106 to begin a seek operation to the longitudinalcomponent of a targeted address on tape cartridge 114, with drive head108 positioned for data processing operation on a data band of tapecartridge 114 based upon the value of the signal amplitudes of each ofthe data bands. The data band of the targeted address and the data bandwith the highest signal amplitude may differ. In one embodiment,abrasion program 112 receives the target address from tape library 102,which may have received the address from a networked client computersuch as client computer 120. In one embodiment, abstract application 112commands tape drive controller 106 to command head servo 110 toreposition drive head 108 such that drive head 108 can perform dataprocessing operations on the data band of the magnetic tape of tapecartridge 114 identified to possess the highest signal amplitude. Inanother embodiment, abstract application 112 commands tape drivecontroller 106 to command head servo 110 to reposition drive head 108such that drive head 108 can perform data processing operations on thedata band of the magnetic tape of tape cartridge 114 identified to notpossess the lowest signal amplitude. Performing seek operations on thedata band with the highest signal amplitude will introduce abrasive wearto sections of drive head 108 that are the least worn to the currentoperation. Avoiding performing seek operations on the data band with thelowest signal amplitude will avoid introducing unnecessary abrasive wearto sections of drive head 108 that are the most worn to the currentoperation.

Abrasion program 112 instructs a tape drive to read position informationuntil reaching a target position (212). In one embodiment, abrasionprogram 112 reads servo information from tape drive controller 106 untilreaching a target address on tape cartridge 114. In one embodiment,abrasion program 112 requests which address most recently moved pastdrive head 108 from tape drive controller 106, comparing the requestedvalue against the target address until the two values are equal. Inanother embodiment, abrasion program 112 requests which address mostrecently moved past drive head 108 from tape drive controller 106,comparing the requested value against the targeted address until therequested value is nearly equal to the targeted address. In anotherembodiment, abrasion program 112 requests servo information includingthe current longitudinal position of the tape from tape drive controller106, comparing the requested value against the value for the targetedaddress until the two values are equal.

Abrasion program 112 instructs a tape drive to position a drive head fora data processing operation (214). In one embodiment, where tapecartridge 114 has a plurality of data bands numbered 0 . . . n, abrasionprogram 112 instructs a tape drive to position a drive head on a databand for a data processing operation. In one embodiment, abrasionprogram 112 instructs tape drive controller 106 to move drive head 108in the transverse direction for data processing on the data bandtargeted for data processing. In one embodiment, abrasion program 112instructs tape drive controller 106 to command head servo 110 toposition drive head 108 for data processing operations on the data bandof tape cartridge 114 that possesses the targeted address. For example,where data band 0 has the lowest signal amplitude and data bands 1through 3 have the highest signal amplitude, and abrasion program 112received a data processing operation for a block of data on track 0,abrasion program 112 may have previously selected data band 1 forseeking to the longitudinal position of the block, switching back todata band 0 when reaching the desired longitudinal position.

FIG. 3 depicts a flowchart of operational steps of an anti-abrasionprogram, such as abrasion program 112 of FIG. 1, generally designated300, for distributing surface abrasion across magnetic tape read/writedrive heads, such as drive head 108 of FIG. 1, during write operationsbased upon measurements of current levels of abrasion at one or morepositions on a magnetic tape read/write drive head in accordance with anembodiment of the present invention.

Abrasion program 112 commands a tape drive to mount a tape cartridge(302). In one embodiment, abrasion program 112 commands tape drive 104to mount and calibrate tape cartridge 114 and drive head 108 for dataprocessing. In one embodiment, responsive to receiving tape cartridge114 from tape library 102 and a request from tape library 102 for a dataprocessing operation on tape cartridge 114, abrasion program 112instructs tape drive controller 106 to position tape cartridge 114 forread/write operations by drive head 108. For example, abrasion program112 may instruct tape drive controller 106 to operate motors within tapedrive 104 to move tape cartridge 114 into operational coupling with aspindle such that the magnetic tape within tape cartridge 114 may rotateto facilitate longitudinal movement of the magnetic tape across drivehead 108.

Abrasion program 112 reads a tape directory table of a tape cartridge(304). In one embodiment, abrasion program 112 reads a tape directorytable of tape cartridge 114 for the address and track (note: the terms“track” and “band” are used interchangeably herein) of an appropriatesized unused block on tape cartridge 114. In one embodiment, tapecartridge 114 includes a tape directory table which non-exclusivelyincludes a data set ID number and a physical track number that definesthe location of the data set on the magnetic tape of the tape cartridge.In one embodiment, abrasion program 112 reads the location of availabledata segments from the tape directory table of tape cartridge 114. Inanother embodiment, abrasion program 112 reads from the tape directorytable of tape cartridge 114 the location of the first available datasegment of each data band of tape cartridge 114. For example, abrasionprogram 112 may read the tape directory table of tape cartridge 114 andfind that there is an available segment beginning at 1000 on track 0, anavailable segment beginning at 500 on track 1, an available segmentbeginning at 200 on track 2, and an available segment beginning at 0 ontrack 3.

Abrasion program 112 measures a signal amplitude for each data band(306). In one embodiment, abrasion program 112 requests from tape drivecontroller 106 the signal amplitudes for each of the data bands of tapecartridge 114 and selects a data band of tape cartridge 114 for a writeoperation. In one embodiment, abrasion program 112 requests the signalamplitude for each data band of tape cartridge 114 and selects the databand of tape cartridge 114 with the highest signal amplitude for use inthe write operation. For example, tape cartridge 114 includes four databands numbered 0 through 1 with each data band having available datasegments to accommodate the current write operation, abrasion program112 reads the signal amplitudes of tracks 0 through 3 and elects towrite to track 3 because it has the highest signal amplitude. Signalamplitude is a parameter for the strength of a data processingconnection between the magnetic tape of tape cartridge 114 and drivehead 108, defined by magnetic tape material and wear condition of drivehead 108 such as increased distance between magnetic tape and drive head108 or an uneven surface on drive head 108.

Abrasion program 112 seeks to a target address (308). In one embodiment,abrasion program 112 instructs tape drive controller 106 to seek to atarget address for a write operation. In one embodiment, abrasionprogram 112 instructs tape drive controller 106 to perform a seekoperation to the longitudinal component of a targeted address on tapecartridge 114, with drive head 108 positioned for data processingoperations on a data band of tape cartridge 114 based upon the value ofthe signal amplitudes of each of the data bands. In one embodiment,abrasion program 112 instructs tape drive controller 106 to begin a seekoperation to the longitudinal component of a targeted address on tapecartridge 114, with drive head 108 positioned for data processingoperations on a data band of tape cartridge 114 with the highest signalamplitude. In one embodiment, abrasion program 112 receives the targetaddress from a tape library, such as tape library 102. In anotherembodiment, abrasion program 112 receives the target address from aclient computer, transmitted to abrasion program 112 across network 118,tape library 102, and tape drive 104.

Abrasion program 112 calculates band assignment for write operation(310). In one embodiment, data bands specific transverse positions forthe position of head servo 110 that include an associated band of datareceptive material on the magnetic tape of tape cartridge 114. In oneembodiment, abrasion program 112 calculates how many segments of theband of the selected data band abrasion program 112 requires to fulfillthe write operation. For example, where the write operation mightrequire 40 megabytes of data storage and tape cartridge has datasegments of 1.5 megabytes, abrasion program 112 calculates the currentwrite operation requirement of 27 segments.

Abrasion program 112 instructs a drive head to write data at a currentaddress (312). In one embodiment, abrasion program 112 instructs tapedrive controller 106 to write data at the current address. In oneembodiment, abrasion program 112 instructs drive head 108 to write databeginning at the address of the current segment of current data band oftape cartridge 114. For example, where the current write operationrequires 27 segments to complete and abrasion program 112 has alreadyselected segments 20 through 47 of track 1 for the write operation,abrasion program 112 instructs drive head 108 to fill segment 20 tocapacity with data from the write operation starting at the beginningaddress of segment 20.

Abrasion program 112 instructs a tape drive controller to adjust a band(314). Abrasion program 112 instructs tape drive controller 106 toadjust the band to the next address. In one embodiment, abrasion program112 instructs tape drive controller 106 to spool tape cartridge 114 tothe next available segment for data processing. For example, where thelast segment used for the write operation was not located at the end ofthe magnetic tape of tape cartridge 114, abrasion program 112 instructstape drive controller 106 to spool tape cartridge 114 to the nextsegment on the current data band. In another example, where the lastsegment used was located at one end of the magnetic tape, abrasionprogram 112 does not instruct tape drive controller 106 spool themagnetic tape of tape cartridge 114 as the next segment would be locatedon the same data band in the opposite direction.

Abrasion program 112 determines whether there is more data to write(316). In one embodiment, abrasion program 112 determines whether thereis more data to write for the write operation. In one embodiment, whereabrasion program 112 completed filling a segment with data from thewrite operation, abrasion program 112 compares whether the previouslyfilled segment is congruent with the final segment of the calculatedband assignment.

Responsive to a determination that there is more data to write (YESbranch, 316), abrasion program 112 continues to instruct a drive head towrite data at a current address (312).

Responsive to a determination that there is no more data to write (NObranch, 316), abrasion program 112 writes to a tape directory table(312). In one embodiment, abrasion program 112 updates tape directorytable to include the location information of the data of the currentwrite operation on tape cartridge 114. In one embodiment, abrasionprogram 112 updates the tape directory table to include a column for thephysical track of the current data operation and inputs the data band ofthe current data operation. For example, abrasion program 112 mightupdate the tape directory table to reflect a first data set written ondata band twelve and a ninth data set written on data band six.

FIG. 5 depicts a flowchart of operational steps of an anti-abrasionprogram, such as abrasion program 112 of FIG. 1, generally designated500, for distributing surface abrasion across magnetic tape read/writedrive heads, such as drive head 108 of FIG. 1, during seek operationsthrough oscillating drive head 108 in the transverse direction relativeto the motion of the magnetic tape of tape cartridge 114 as it spoolspast drive head 108.

Abrasion program 112 receives a seek command (502). In one embodiment, aseek command is a component of a data processing operation. In oneembodiment, abrasion program 112 receives a seek command from tape drivecontroller 106 for a target address on the magnetic tape of tape library102, the targeted address including a specified data band andlongitudinal address. In one embodiment, a data processing operation isa request to read data stored on a tape cartridge of tape library 102 orto write data to a tape cartridge of tape library 102. In oneembodiment, abrasion program 112 receives a data processing operationfrom client computer 120 through a connection that includes network 118,tape library 102, and tape drive 104.

Abrasion program 112 instructs a tape drive to read a current positionon a tape cartridge (504). In one embodiment, abrasion program 112 readsa current position of a tape cartridge currently mounted to a tapedrive. In one embodiment, abrasion program 112 reads the currentposition of the tape cartridge, such as tape cartridge 114, by readingthe current data band and longitudinal address of the magnetic tape oftape cartridge 114. For example, where tape cartridge 114 is newlymounted to the tape drive, such as tape drive 104, abrasion program 112reads a current position of data band 0 address 0. In one embodiment, acurrent position is a longitudinal address on the magnetic tape of atape cartridge, such as tape cartridge 114, that is presently located inread/write position with a tape drive head, such as drive head 108.

Abrasion program calculates a time to seek a target position (506). Inone embodiment, abrasion program 112 calculates a time to seek to atarget position of the current data processing operation and sets atimer for the calculated duration of time. In one embodiment, abrasionprogram 112 calculates the time required to reach a target longitudinaladdress from the current longitudinal address by comparing the distancein meters of tape between the two addresses and the speed that thespools of tape drive 104 can spool the magnetic tape of tape cartridge114. Abrasion program 112 uses the calculated time to create a timervariable. For example, where the current longitudinal address of themagnetic tape of tape cartridge 114 is 0, the targeted longitudinaladdress of tape cartridge 114 is 100, each longitudinal address includesone meter of tape, and tape drive 104 can spool at a rate of one meterper second, abrasion program 112 calculates that it will take 100seconds to reach the targeted position and creates a timer equal to 100seconds. In another embodiment, abrasion program 112 calculates the timeto be equal to the time required to reach a target longitudinal positionon the magnetic tape of tape cartridge 114 from a current longitudinalposition on the magnetic tape of tape cartridge 114 minus a percentageof the calculated time. For example, where the calculated time is 100seconds, abrasion program 112 subtracts 10% from the calculated time,resulting in a new calculated time of 90 seconds. In another embodiment,abrasion program 112 stores the calculated time to seek in the localmemory of tape drive controller 106.

Abrasion program 112 starts a timer (508). In one embodiment, abrasionprogram 112 begins a timer previously calculated to represent the timerequired to reach a target longitudinal position on the magnetic tape oftape cartridge 114 from a current longitudinal position on the magnetictape of tape cartridge 114. In another embodiment, abrasion program 112starts a timer initialized to a value of 0.

Abrasion program 112 oscillates a drive head while seeking (510). In oneembodiment, abrasion program 112 seeks to a target address for dataprocessing while oscillating drive head 108 transverse to the directionof spooling of the magnetic tape of tape cartridge 114. In oneembodiment, abrasion program 112 instructs tape drive controller 106 tospool the magnetic tape of tape cartridge 114 in the longitudinaldirection towards a target address and abrasion program 112 instructstape drive controller 106 to operate head servo 110 to move drive head108 transverse to the motion of the magnetic tape of tape cartridge 114.In one embodiment, abrasion program 112 instructs tape drive controller106 to operate head servo 110 while performing a seek operation to movedrive head 108 transverse to the motion of the magnetic tape of tapecartridge 114 such that drive head 108 sequentially moves intoread/write position over each data band of the magnetic tape of tapecartridge 114 until reaching the last data band where abrasion program112 instructs tape drive controller 106 to operate head servo 110 tofollow a reverse sequence until reaching the initial data band (atransverse oscillation). In another embodiment, abrasion program 112reads a signal amplitude for each data band of the magnetic tape of tapecartridge 114 and excludes positioning drive head 108 from read/writeposition on the data band with the lowest signal amplitude duringtransverse oscillation. For example, where data band 0 is the initialdata band, there are 4 data bands numbered 0 through 3, and data band 0has the lowest signal amplitude, abrasion program 112 limits transverseoscillation to data bands 1 through 3, excluding 0 such that whiletransverse oscillation occurs during seek operations drive head 108 isnot in read/write position for data band 0.

Abrasion program 112 determines if the seek is nearing a target position(512). In one embodiment, abrasion program 112 determines whether atimer indicates that the target address for data processing is nearread/write position. In one embodiment, abrasion program 112 determineswhether the timer indicates that a target address on the magnetic tapeof tape cartridge 114 is near read/write position with drive head 108 bychecking if the timer has reached 0. In another embodiment, abrasionprogram 112 determines whether the target position is nearing read/writeposition by comparing the amount the timer has currently counted toagainst the calculated time to seek to target position. In anotherembodiment, abrasion program 112 determines whether the target positionis nearing read/write position by comparing the amount the timer hascurrently counted to against a percentage of the calculated time to seekto target position. For example, where the target position is nearread/write position when 90% of the time to seek to target position haselapsed, abrasion program 112 compares the amount the timer hascurrently counted to against the calculated time to seek to targetposition multiplied by 0.9.

Responsive to a determination that a seek operation is not nearing atarget position (NO branch, 512), abrasion program 112 continues tooscillate a drive head while seeking (510). In one embodiment,responsive to a determination that the timer does not indicate that thetargeted address for data processing is near read/write position (NObranch, 512) abrasion program 112 continues seeking to the targetposition and oscillating drive head 108.

Responsive to a determination that a seek operation is nearing a targetposition (YES branch, 512), abrasion program 112 stops oscillating adrive head and positions the drive head on a target data band (514). Inone embodiment, responsive to a determination that the targeted addressfor data processing is near read/write position (YES branch, 512)abrasion program 112 stops oscillating drive head 108 and instructs tapedrive controller 106 to move drive head 108 onto the data band for thetargeted data processing operation (518). In one embodiment, abrasionprogram 112 ceases transverse oscillation of drive head 108 andinstructs head servo 110 to position drive head 108 into read/writeposition on the data band of the data processing operation on themagnetic tape of tape cartridge 114. In one embodiment, abrasion program112 continues the remainder of the seek operation on the data band ofthe data processing operation after transverse oscillation has ceased.For example, where abrasion program 112 determines that transverseoscillation should cease when 90% or more of the time to seek to targetposition has elapsed, 91% of the time to seek target position haselapsed, the target of the data processing operation is on data band 0,abrasion program 112 has ceased transverse oscillation when drive head108 is positioned over data band 3, abrasion program 112 instructs headservo 110 to position drive head 108 in read/write position for dataprocessing on data band 0 for the remaining 9% of the seek operation.

FIG. 6 depicts a block diagram of components of data processing system,such as tape drive controller 106 of FIG. 1, library controller 116 ofFIG. 1, and client computer 120 of FIG. 1, generally designated 600, inaccordance with an illustrative embodiment of the present invention. Itshould be appreciated that FIG. 6 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in that different embodiments may be implemented. Manymodifications to the depicted environment may be made.

In the illustrative embodiment, client computer 120 in data processingenvironment 100 is shown in the form of a general-purpose computingdevice, such as computer system 605. The components of computer system605 may include, but are not limited to, one or more processors orprocessing unit(s) 604, memory 606, and bus 602 that couples varioussystem components including memory 606 to processing unit(s) 604.

Bus 602 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port and a processor or local bus using anyof a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus andPeripheral Component Interconnect (PCI) bus.

Computer system 605 typically includes a variety of computer systemreadable media. Such media may be any available media that is accessibleby computer system 605 and it includes both volatile and non-volatilemedia, removable and non-removable media.

Memory 606 can include computer system readable media in the form ofvolatile memory, such as random access memory (RAM) 614 and/or cachememory 616. Computer system 605 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 608 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”) and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk, such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 602 by one or more datamedia interfaces. As will be further depicted and described below,memory 606 and/or persistent storage 608 may include at least onecomputer program product having a set (e.g., at least one) of programmodules that are configured to carry out the functions of embodiments ofthe invention.

Program 112, having one or more sets of program modules, may be storedin memory 606 and/or persistent storage 608 by way of example and notlimitation, as well as an operating system, one or more applicationprograms, other program modules and program data. Each of the operatingsystems, one or more application programs, other program modules andprogram data or some combination thereof, may include an implementationof a networking environment. Program 112 generally carries out thefunctions and/or methodologies of embodiments of the invention asdescribed herein. Computer system 605 may also communicate with one ormore external device(s) 618, such as a keyboard, a pointing device, adisplay 620, etc. or one or more devices that enable a user to interactwith computer system 605 and any devices (e.g., network card, modem,etc.) that enable computer system 605 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interface(s) 612. Still yet, computer system 605 can communicatewith one or more networks, such as a local area network (LAN), a generalwide area network (WAN) and/or a public network (e.g., the Internet) viacommunications unit 610. As depicted, communications unit 610communicates with the other components of computer system 605 via bus602. It should be understood that although not shown, other hardware andsoftware components, such as microcode, device drivers, redundantprocessing units, external disk drive arrays, RAID systems, tape drivesand data archival storage systems may be used in conjunction withcomputer system 605.

A few comments about typical head wear patterns will now be made withreference to FIG. 7, which shows magnetic head 699 (including read/writehead, not separately shown, and a head mounting, also not separatelyshown); and magnetic tape 698. In operation, tape 698 extensively movesin longitudinal direction L with respect to head 699. In someembodiments, the tape will tend to take on U-shaped profile 698 in across section taken in the height-transverse (H-T) plane. Because ofthis, the transverse edges of the tape will tend to wear a pair ofrecesses 699 a and 699 b in the material of the head mounting portion ofthe head. This can lead to fairly complex wear profiles in embodimentswhere the head and tape can be transversely adjusted in positionrelative to each other and/or where there are multiple read/write headsin a single block of head mounting material. It is noted that some ofthe embodiments discussed below assume a simpler wear pattern, where theentire transverse run of the tape abrades the head uniformly. Thissimplification is done largely for simplicity of illustration andunderstanding purposes. However, it should be kept in mind that thetechniques can be adjusted, within the scope of the present inventionand as will be understood by those of skill in the art, to work in thecontext of embodiments where the abrasion patterns are similar to whatis shown in FIG. 7.

As shown in FIGS. 8 and 9, tape drive system 700 include: head movementcontrol sub-system 702; tape movement control sub-system 704; magnetictape 708 (which defines a height direction H, a longitudinal direction Land a transverse direction T); magnetic tape head 710 (including tapefacing surface 710 a and recess 710 b); and head surface profilesub-system 712.

Tape movement control sub-system 704 is structured, connected and orprogrammed to control the movement of tape 708. In this embodiment,sub-system 704 includes feed guide hardware (not separately shown), arotationally driven feed reel (not separately shown) and a rotationallydriven take up reel (not separately shown). More specifically, in thisembodiment, tape 708 only moves, relative to the whole of tape drivesystem 700, in the longitudinal direction L, so this is the onlymovement controlled by sub-system controlled by sub-system 702.Alternatively, in some embodiments the tape may move in additionaldirections(s) and/or rotate, and these motions would also be controlledby sub-system 704.

Head movement control sub-system 702 is structured, connected and orprogrammed to control the movement of head 710. More specifically, inthis embodiment, head 710 only moves relative to tape 708 in thetransverse direction T, so this is the only movement controlled bysub-system controlled by sub-system 702. Alternatively, in someembodiments the head may move in additional directions(s) and/or rotate,and these motions would also be controlled by sub-system 702.

Head surface profile sub-system 712 is structured, connected and/orprogrammed to determine a wear profile of tape facing surface 710 a ofhead 710. In this embodiment: (i) the wear profile is provided tosub-system 712 by a user (not shown) manually entering data obtained bymeasurement equipment external to tape drive system 700; (ii) the wearprofile is essentially one dimensional (that is wear depth at varioustransverse direction positions along tape facing surface 710 a withoutaccounting for wear variations along longitudinal direction L); and(iii) the wear profile indicates that surface 710 includes recess 710 bwhere tapes have worn a groove in head 710. Alternatively, the wearprofile may be provided to sub-system 712 in other ways, such as bykeeping track of distance and/or relative velocity of relative motionbetween the head and tape(s) for various transverse positions of thehead. As a further alternative, the wear profile may be two dimensional(for example, transverse and longitudinal directions, or, for a curvedtape facing surface, circumferential and angular directions).

As shown in FIG. 8, sub-system 712 sends the wear profile data tosub-system 702, and sub-system 702 controls motion of head 710, relativeto tape 708 to counter the wear. More specifically, in this example,that means that sub-system 702 moves head 710 in the transversedirection T so that it is away from recess 710 b. In this way, anyfurther abrasion caused by tape 708 will tend to make the wear profilemore flat and planar. As will be appreciated by those of skill in theart, in embodiments with curved tape facing surfaces, the wear profilewould counter wear by restoring the curve(s) that the tape facingsurface had when it was new and unworn. While this embodiment moves thetape head, relative to the tape, to counter wear in a single lineardirection (that is, transverse direction T), other embodiments may movethe tape and head relatively in additional and or different directions(for example, curved directions, rotational directions). In thisembodiment, only the tape head is adjusted in its position to counterwear. Alternatively, the tape movement control sub-system may move theposition of the tape to adjust the relative positions of the head andtape in a manner that counters wear determined from the wear profiledata. As a further alternative, some embodiments may adjust positions ofboth the head and the tape.

In the embodiment of FIGS. 8 and 9, the transverse direction adjustmentto counter wear occurs only during some operations, but not others. Morespecifically, this adjustment occurs during: (i) fast forward typeoperations (where no reading or writing occurs); (ii) rewind typeoperations (where no reading or writing occurs); and (iii) some writeoperations (specifically those where there are no constraints on whichlongitudinal track on the tape is going to store the data being writtenby the write operation). This adjustment does not occur during readoperations because the transverse position of the head is constrained bythe location of the longitudinal track(s) of the tape from which data isbeing red by the read operation.

In conclusion with respect to the discussion of the embodiment of FIGS.8 and 9, it is noted that a gap, in height direction H, is shown betweenthe tape facing surface of the magnetic head and the head facing surfaceof the magnetic tape. However, it will be understood by those of skillin the art that: (i) FIGS. 8 and 9 are not necessarily drawn to scale;and (ii) the magnetic head and magnetic tape will be close enough to bein spatially and/or temporally intermittent contact such thatlongitudinal direction relative movement between the tape and head willcause abrasion over time. Also, in many embodiments the wear patterns,which are counteracted by transverse relative positional adjustmentbetween the head and tape, will be more like those discussed above inconnection with FIG. 7.

FIGS. 10 to 11I show tape drive system 800 including: first tape drivesub-system 802 (including movement control sub-sub-system (MCSS) 804 andhead 806); second tape drive sub-system 810 (including MCSS 812 and head814); third tape drive sub-system 820 (including MCSS 822 and head 824);cartridge library 850 (including first cart 860, empty space 863 forsecond cart, and third cart 864); second cart 861 (including tape 862);and control module 870.

In the embodiment of FIGS. 10 to 11I, the head moves in an oscillatingfashion in the transverse direction T during seek operations as shown bycomparing FIGS. 11A to 11I to each other. More specifically, FIGS. 11Ato 11I show, for nine successive points in time t0 to t8, therespectively corresponding transverse positions 806 a to 806 i relativeto tape (respectively tape positions 862 a to 862 i). Although not wellshown by the drawings, it should be understood that tape 862 is movingin longitudinal direction L relative to head 806 because a seekoperation is being performed during the time interval from t0 to t8. Inthis embodiment, tape 862 remains at a constant transverse positionrelative to first drive sub-system 802 considered as a unit.Alternatively, tape 862 could be moved in transverse direction T inorder to effect the oscillating relative transverse movement between thehead and the tape that is shown by FIGS. 11A to 11I.

Control module 870 controls tape drive system 800 as a whole, includinginstructing the oscillating transverse relative motion shown by FIGS.11A to 11I. Control module 870 may include a computer, a processor set,memory, data storage and machine logic (for example, hardware, softwareand/or firmware). Alternatively, machine logic control of theoscillation could be effected, in whole or in part, locally with respectto first dive sub-system 802 at MCSS 804.

In this embodiment, the oscillation movement has a constant period fromoscillation cycle to cycle (FIGS. 11A to 11I show one cycle).Alternatively, there could be a variable period depending upon factorssuch as relative tape speed in the L direction.

In this embodiment, the pattern of oscillation is sinusoidal.Alternatively, it could follow other patterns, such as sawtooth orasymmetric sinusoidal patterns.

In this embodiment, the amplitude of the relative transverse oscillationis constant and ranges: (i) from a leftmost position where the rightedges of the head and tape are aligned (see FIG. 11G); (ii) to arightmost position where the left edges of the head and tape are aligned(see FIG. 11C). Alternatively, non-constant amplitudes from cycle tocycle are possible. As a further alternative, different ranges ofrelative transverse motion are possible, such as motion ranges designedto compensate for asymmetrical wear patterns observed, and/or predictedby usage patterns, on the head.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) protect magnetic tape drive read/write heads against unequalabrasion; (ii) significant increase of the lifetime of the magnetichead; (iii) avoiding damages to the tapes; (iii) applicable to tapedrives having 32 (or more or fewer) write/read heads for writing andreading data from/to the tape; (iv) data is arranged into tracks anddata bands (0 . . . 3 by LTO); (iv) data read/written into both tapemove directions—forward and backward; (v) to “keep on track,” theread/write heads have dedicated servo heads on the top and bottom toread the vertical position; (vi) by reading content from the tape, thedrive has to seek to the related LPOS (longitudinal position) where thedata resides; (vii) from a statistical point of view, for every readoperation, the media has to be fast-forwarded by 50% of the length ofthe media (seek operation); (viii) to achieve quick data access time thespeed of the tape during the seek operation is much faster as duringreading of the data; (ix) the speed of the tape has a significantinfluence on the amount of abrasion; and/or (x) as tape speed increases,abrasion increases.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) the tape itself is very thin and not exactly flat when it flies withhigh speeds over the head and the head mounting; (ii) the tape edgesslightly go down and form a kind of ellipse; (iii) over the time andusage, the described edges causing abrasions at the “head mounting,”which degenerates the head mounting and can damage tapes; and/or (iv)depending on the tape usage and the data pattern this behavior can bemore or less intensive (for example if just smaller files are readindependently from each other the drive is spooling most of the time tothe related LPOS).

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) a method leading to an equal distribution of the abrasion and,typically, a significant increase of the lifetime of the magnetic head;(ii) damages to the tapes as grooves are avoided; (iii) grooves areavoided and therefore, typically, read/write quality is extended; (iv)exchangeability of tape media to different drives is improved; (v) tapemedia damages by grooves are avoided and therefore life time of themedia is extended; (vi) maintenance due to data loss or drive or mediareplacement is reduced; and/or (vii) significantly extended life time ofthe tape drive.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) changes the “unequal” abrasion into a abrasion that is uniform inthe aggregate considered over time and use; (ii) like the car wheel rutson the road, which are created because all cars have to drive on thesame lane, some embodiments move the head mounting—and therefore themagnetic head—up and down (Y-direction) during seek operations; and/or(iii) for the movement in Y-direction the entire width of the headmounting can be utilized so that the abrasion get spread about themaximum area—this way the edges of the tape itself smooth down the MRhead and the head mounting equally and ruts are avoided.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) the servo track information can be read for all Y-positions (atleast within regular time periods) so that the drive does not lose trackand it always can be determined at which LPOS of the tape the head iscurrently positioned; (ii) shortly before achieving a dedicated LPOS forreading/writing, the head will be steered to the target track/band—thismeans the movement in Y-direction stops; (iii) abrasion caused duringread operation will be statically smoothened during another seekoperation.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) reduces and/or delays situations where a zone of a recording head,corresponding to a single track, with relatively deep abrasion makes thecomplete head unusable and therefore the drive needs to be exchanged;(ii) implementation on drive level using an additional application whichoperates as follows: (a) an application determines based on the signalamplitudes during reading from the tape which of the n (n=4) tracks ofthe tape is used most and already has the biggest abrasion (grooves),(b) the application determines than which track should be used next tospread the abrasion equally over all n tracks; (iii) implementation ondrive level using the read/write head as follows: (a) the drivedetermines the abrasion level using the read amplitude during thecalibration process, and (b) based on this determination the drivedecides on which track of the tape the data will be written to; and/or(iv) implementation on tape library level as follows: (a) an applicationdetermines based on the statistical fill rate of the tape cartridges andthe use of each of the system's drives, (b) based on the fill rates anddrive use, the probability of abrasion on the magnetic head on specifictracks is determined, and (c) optimizes the assignment of tapes todrives for future read/write requests in a way that the abrasion isequally distributed over all tracks and all drives of the library.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) maintenance due to data loss or drive or media replacement isreduced; (ii) the head can move into different Y positions for trackreading while tape is moved in X-direction to locate the servo trackswithin the band-area; (iii) the servo-tracks provide the encodedx-position and provide the information onto which data-track the head iscurrently positioned in Y-Direction; (iv) mechanically the head is movedby using the state of the art calibration mechanism; (v) based on therecording speed and the average diameter of the ribbon coil, thespooling time and the time of the oscillation in +/−Y direction iscalculated; and/or (vi) some embodiments are characterized by aschematical architecture of a tape where: (a) every band is bordered byservo tracks, and (b) there are two different kinds of servo tracks(whereas LTO technology uses a Timing-Based-Pattern A. B shows anAmplitude-Based-Pattern.

FIG. 4 shows flowchart 999, which is an embodiment of a method ofseeking to target, and which will now be explained in the followingparagraphs.

Conventionally, a tape drive includes a controller computer, including amicroprocessor and storage to store the firmware of the tape drive upon.The firmware is providing the functions for interactions with attachedexternal host-computers via SCSI-Commands to operate data IO between themagnetic tape drive and the host computer. The method of flowchart 999reduces wear on a magnetic tape drive head and is based on knowncharacteristics of magnetic tape drive response for locating themagnetic tape loaded into the magnetic tape drive to a dedicatedposition for reading or writing data from the position.

In the method of flowchart 999, starting the locate process isresponsive to receiving an SCSI command “Locate (92-hex)” by themagnetic tape drive from a host computer. The new inserted process stepfollowing next to the locate command is initiating the magnetic tapedrive to read the current location. After that the process iscalculating the location difference between the current location and thelocation requested by the host. Thereafter the process calculates thetime needed to spool to the target location of the tape based ondistance in meters and the speed of the reel motor for spooling the tapeto the target location. The next step includes controlling the spoolingdistance roughly. Then thereafter, in the follow up step the electricmotor used to position the magnetic head of the tape drive on tapetracks will start to oscillate the magnetic tape head into+/−Y-direction up and down. While the active spooling is started, nowthe prior set timer starts to count, too. In this stage, the magnetichead supporting the tape oscillates all the way up and down. Thismaneuver of the tape head causes the tape to slide across the supportingrails of the magnetic head using the whole length and evenly use thesurface of the head supporting rails. If, in the next step, thecalculated target location is reached, the oscillation of the magnetictape head is stopped, and the invented process is moving the magnetichead onto the target location's servo track for reading and controllingthe location signals. The last step is slowing down the magnetic tapespooling and finally locate the magnetic head to the exact, from thehost requested, target location to prepare the magnetic tape drive foroperating data IO on tape. The invented process then is finished.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) means for moving read/write head in vertical direction forpositioning the read/write head onto different data tracks on the tape;(ii) the moving means being characterized by adding a new controlfunction to the means for moving read/write head for providing a“oscillating vertical direction” to the track direction duringforwarding the tape to the target tape location for reading or writingdata from or to the tape; and/or (iii) the oscillating frequency dependson distance to the target position of the read/write head to beforwarded.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) means for moving read-write head include magnetic tape drivesoftware building upon the oscillating method to equalize the head wearor what we called abrasion; (ii) after the tape location forTO-operation is reached, an added function is started and measures thedata-track-read-signal amplitudes by using the magnetic tape head'sread-element-head-array and available electronic amplification readchannels; (iii) based on the detected signal amplitudes were analyzedacross the multiple data-bands of a magnetic tape (for example, LTO/3592standard a magnetic tape has 4 data-bands) this function moves themagnetic head to the area were the heads wear/abrasion is low (highestamplitude); (iv) the function adds a reference pointer on the data setstored that describes the track and position of the next data-set insequence of the file/data stored on this tape; (v) with the method ofthe previously-described items in this list, the stored data is spreadacross all data tracks what equally utilizes the whole head surface andleveling out already worn areas; (vi) with this different read/writehead calibration biases are set by the invented function which are basedon different head positions; and/or (vii) with this read/write operationcan be stabilized and the lifetime of a magnetic tape drive is extended.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) the magnetic tape drive determines the abrasion level using the readamplitude during the drives initial calibration process right after themagnetic tape cartridge is loaded into the magnetic tape drive; (ii)based on this determination the drive decides on which track of the tapethe data will be written to; (iii) does not require maintainingcalibration data based on the magnetic head track or band position;and/or (iv) simply uses the magnetic tape areas with highest amplitudeand distributes the data on the corresponding track.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics, operations and/or advantages:(i) a control-function is added into the magnetic tape library firmware;(ii) this invented library function is based on the usage statistics ofeach magnetic tape cartridge and tape drive; (iii) magnetic tape librarydata set maintains a log which magnetic tape cartridge was loaded intowhich magnetic tape drive; (iv) magnetic tape cartridges have acartridge memory chip included that maintains the inventory of amagnetic tape and keeps track of how much data is currently stored onwhich track/wrap at the magnetic tape; (v) the control-function is alibrary function that captures the cartridge filling-statistics from themagnetic tape's cartridge memory chip short before unloading thiscartridge; (vi) the magnetic tape library controller stores thisinformation (Date & Time, Cartridge Barcode, End of Data Marker found ontrack/wrap number, Cartridge capacity or type—e.g. LTO1/2/ . . . 6/7,magnetic tape drive serial number) into the invented database at thestorage of the library controller or a dedicated magnetic tape cartridgetherefore; (vii) based on this information and the knowledge that thedifferent data tracks are located on corresponding data band-sections ona magnetic tape, the control-function determines the potential wear ofthe different magnetic tape drives; (viii) with this information theinvented function selects the magnetic tape drive which matches thealready filled magnetic tape cartridge best for optimal operation; (ix)if the magnetic tape to be loaded into drive A by the application for IOprocessing and the magnetic tape already has data tracks/wraps filledonly on band 0 and this tape is to be loaded into a magnetic tape drivethat statistically had the most loads for operating data on wrap 0already, controlling machine logic will select another magnetic tapethat has the lowest operation history on wrap 0; (x) this selection tothe host is done by spoofing the tape drives world-wide node name (e.g.wwnn); and/or (xi) with this method, the magnetic tape drives incombination with the fill-statistics of magnetic tape drives can evenlywear during operation to majorly extend the life time of magnetic tapeheads.

In some embodiments of the present invention, the amplitude of thetransverse direction oscillation of the head is made large enough toeffectively counter uneven wear on the head. In some conventional tapedrive devices, there may be some very limited transverse directionoscillation of the head when attaining, or maintaining, alignment with atrack (for example, a servo track, a data track) defined on a tapemedium being used with the tape drive. However, this type of oscillationis limited in amplitude because it is closely centered about a singletrack on the tape medium. In contradistinction, some embodiments of thepresent invention have an oscillation amplitude that is greater than thecenter-to-center transverse width of two data tracks. In someembodiments of the present invention, the amplitude of the oscillationwill be equal to or greater than the center-to-center transverse widthof half of the number of tracks on the type of tape medium with whichthe tape drive is designed to be used. For example, in a 32 track tapedrive, the amplitude of the oscillation would be equal to or greaterthan the center-to-center transverse width of 16 tracks of theassociated tape medium. In this way, it can be assured that the entireactive transverse width of the head (that is, the entire width of thehead that potentially comes in contact with the tape medium) will be“swept” by the relative oscillatory motion between the head and the tapemedium.

The present invention may be a system, a method and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable) or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, a special purpose computer orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration but are not intended tobe exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Itshould be appreciated that any particular nomenclature herein is usedmerely for convenience and thus, the invention should not be limited touse solely in any specific function identified and/or implied by suchnomenclature. Furthermore, as used herein, the singular forms of “a”,“an”, and “the” are intended to include the plural forms as well, unlessthe context clearly indicates otherwise.

What is claimed is:
 1. A method for use with a magnetic tape datastorage system including a plurality of tape drives, with each tapedrive including a magnetic head with a tape facing surface, the methodcomprising: receiving a drive head wear profile data set includinginformation indicative of an observed and/or estimated wear profile ofthe tape facing surface of the magnetic head of each tape drive of aplurality of tape drives available to the magnetic tape data storagesystem; receiving an incoming data writing operation includinginformation indicative of a target magnetic tape medium; receiving atarget magnetic tape medium including a historical data set indicativeof unused portions of the target magnetic tape medium based onhistorical data operations using the target magnetic tape medium;determining a target tape drive based, at least in part, on: (i) thedrive head wear profile data set, and (ii) the historical data set ofthe target magnetic tape medium; and performing the received incomingdata writing operation on the target magnetic tape medium using thetarget tape drive.
 2. The method of claim 1 further comprising: updatingthe drive head wear profile data set based on the performed receivedincoming data writing operation.
 3. The method of claim 1, wherein thedrive head wear profile is based on recorded historical data operationsperformed using the plurality of tape drives of the magnetic tape datastorage system.
 4. The method of claim 1 wherein: at least some of thetarget magnetic tape medium is used by recorded data from historicaldata writing operations; and the target magnetic tape medium is definedby a longitudinal direction and a transverse direction.
 5. The method ofclaim 4, wherein the target magnetic tape medium is partitioned in thetransverse direction into a plurality of bands.
 6. The method of claim5, wherein: the incoming data writing operation includes informationindicative of how much data is to be written; and the historical dataset includes information indicative of which bands the incoming datawriting operation will be performed on based, at least in part, on howmuch data is to be written during the incoming data writing operation.7. A computer program product (CPP) comprising: a magnetic tape datastorage system including a plurality of tape drives, with each tapedrive including a magnetic head with a tape facing surface; a machinereadable storage device; and computer code stored on the machinereadable storage device, with the computer code including instructionsfor causing a processor(s) set to perform operations including thefollowing: receiving a drive head wear profile data set includinginformation indicative of an observed and/or estimated wear profile ofthe tape facing surface of the magnetic head of each tape drive of aplurality of tape drives available to the magnetic tape data storagesystem, receiving an incoming data writing operation includinginformation indicative of a target magnetic tape medium, receiving atarget magnetic tape medium including a historical data set indicativeof unused portions of the target magnetic tape medium based onhistorical data operations using the target magnetic tape medium,determining a target tape drive based, at least in part, on: (i) thedrive head wear profile data set, and (ii) the historical data set ofthe target magnetic tape medium, and performing the received incomingdata writing operation on the target magnetic tape medium using thetarget tape drive.
 8. The CPP of claim 7, wherein the computer codefurther includes instructions for causing the processor(s) set toperform the following operations: updating the drive head wear profiledata set based on the performed received incoming data writingoperation.
 9. The CPP of claim 7, wherein the drive head wear profile isbased on recorded historical data operations performed using theplurality of tape drives of the magnetic tape data storage system. 10.The CPP of claim 7 wherein: at least some of the target magnetic tapemedium is used by recorded data from historical data writing operations;and the target magnetic tape medium is defined by a longitudinaldirection and a transverse direction.
 11. The CPP of claim 10, whereinthe target magnetic tape medium is partitioned in the transversedirection into a plurality of bands.
 12. The CPP of claim 11, wherein:the incoming data writing operation includes information indicative ofhow much data is to be written; and the historical data set includesinformation indicative of which bands the incoming data writingoperation will be performed on based, at least in part, on how much datais to be written during the incoming data writing operation.
 13. Acomputer system (CS) comprising: a magnetic tape data storage systemincluding a plurality of tape drives, with each tape drive including amagnetic head with a tape facing surface; a processor(s) set; a machinereadable storage device; and computer code stored on the machinereadable storage device, with the computer code including instructionsfor causing the processor(s) set to perform operations including thefollowing: receiving a drive head wear profile data set includinginformation indicative of an observed and/or estimated wear profile ofthe tape facing surface of the magnetic head of each tape drive of aplurality of tape drives available to the magnetic tape data storagesystem, receiving an incoming data writing operation includinginformation indicative of a target magnetic tape medium, receiving atarget magnetic tape medium including a historical data set indicativeof unused portions of the target magnetic tape medium based onhistorical data operations using the target magnetic tape medium,determining a target tape drive based, at least in part, on: (i) thedrive head wear profile data set, and (ii) the historical data set ofthe target magnetic tape medium, and performing the received incomingdata writing operation on the target magnetic tape medium using thetarget tape drive.
 14. The CS of claim 13, wherein the computer codefurther includes instructions for causing the processor(s) set toperform the following operations: updating the drive head wear profiledata set based on the performed received incoming data writingoperation.
 15. The CS of claim 13, wherein the drive head wear profileis based on recorded historical data operations performed using theplurality of tape drives of the magnetic tape data storage system. 16.The CS of claim 13 wherein: at least some of the target magnetic tapemedium is used by recorded data from historical data writing operations;and the target magnetic tape medium is defined by a longitudinaldirection and a transverse direction.
 17. The CS of claim 16, whereinthe target magnetic tape medium is partitioned in the transversedirection into a plurality of bands.
 18. The CS of claim 17, wherein:the incoming data writing operation includes information indicative ofhow much data is to be written; and the historical data set includesinformation indicative of which bands the incoming data writingoperation will be performed on based, at least in part, on how much datais to be written during the incoming data writing operation.